In the field of telecommunication, a network apparatus such as router or switch is used for connecting a plurality of networks. The network apparatus is used determines a transfer destination of packets by searching a destination address of the packets received and then transfers these packets to the predetermined transfer destination. A total amount of packets transmitted or received by the networks in the world is more and more increasing and packet transfer performance of network apparatus is therefore required to increase in accordance with increase in amount of traffics.
FIG. 2 illustrates an example of structure of the network apparatus in the prior art. In FIG. 2, an network apparatus is provided with an input network interface unit 12, an input network processor 15, a table memory for input network processor 16, an input switch fabric interface unit 14, a switch fabric unit 40, an output network interface unit 22, an output network processor 25, a table memory for output network processor, and an output switch fabric interface unit 24 or the like. Here, a network processor is a special processor for the network apparatus which is particularly designed for packet transfer process.
The input network interface unit 12 receives packets from the network and processes the received packets in the input network processor 15. The network processor 15 refers to a routing table in the table memory 16 and transfers packets to an adequate port of the switch fabric unit 40 from the input switch fabric interface unit 14 on the basis of the result of search. The output switch fabric interface unit 24 having received packets from the switch fabric 40 executes necessary packet process such as QoS (Quality Of Service) control in the output network processor 25 and transmits packets to the network from the output network interface unit 22.
For determination of transfer destination of packets, it is essential to look up a routing table stored in the table memory. In general, a routing table is huge and the lookup process of the routing table is considered as a bottle-neck process for the transfer of packets in the network apparatus. Accordingly, various technologies have been developed to realize high-throughput operation of the network processor thereof, for example, multithread architecture, VLIW (Very Large Instruction Word) architecture, and so on are used for parallel packet processing. Also multiprocessor architecture is used in order to hide long memory access latency.
Meanwhile, a technology for realizing high-throughput operation of a network processor using an accelerator has also been developed. For example, a technology for realizing high-throughput routing process by assisting a main processor has been disclosed in the JP-A No. 199230/1993 (U.S. Pat. No. 5,434,863) and JP-A No. 86149/2001. Moreover, a technology for realizing indirect high-throughput routing table lookup by alleviating a load of the main processor through the processor operations other than the routing table lookup (for example, IPsec, VPN, NAT, illegal attacking packets detection, etc.) using an accelerator has been disclosed in the JP-A Nos. 271363/2002 and 281072/2002.
[Patent Document 1] JP-A No. 199230/1994
[Patent Document 2] JP-A No. 086149/2001
[Patent Document 3] JP-A No. 271363/2002
[Patent Document 4] JP-A No. 281072/2002
[Patent Document 5] JP-A No. 048730/2003
In a method in the prior art for realizing high-throughput packet process of a network apparatus through high-throughput operation of a network processor thereof, development of the network apparatus corresponding to increase in the present traffics is difficult. The reason is that realization of high-throughput network processor will bring about remarkable increase in size of the network processor and also generation of problems such as increase in power consumption and defective operation due to radiation of heat.